#ifndef DISTANCEFILTER_H
#define DISTANCEFILTER_H

#include <linkfilter.h>
#include <anatomicallink.h>

class DistanceFilter :
	public LinkFilter
{
public:
	enum FilterMode
	{
		Above,
		Below,
		Between
	};

	DistanceFilter(void);
	~DistanceFilter(void);

	void setFilterToAcceptAbove(double dist);
	void setFilterToAcceptBelow(double dist);
	void setFilterToAcceptBetween(double dist1, double dist2);

	virtual bool accepts(AnatomicalLink*);
	virtual inline LinkFilter::FilterType getType() { return LinkAnatomicalDistanceFilter; }

private:
	FilterMode mode;
	double distAbove;
	double distBelow;
};

#endif //DISTANCEFILTER_H